Prevod nazvu sloupce na cislo

Otázka od: Karel Machac

7. 7. 2004 22:35

Ahoj,

    potreboval bych poradit nejaky algoritmus pro prevod nazvu sloupce XLS
tabulky na cislo tohoto sloupce.
Takze napr. 'AA' bude vrace 27 atd...

Dekuji
 Karel Machac

Odpovedá: Ales Vasicek

8. 7. 2004 6:18

Ahoj,

tato funkce vrati nazev sloupce od A - ZZ.

function IntToExcelColumn(const I: Integer): string;
var
  X, J, K: Integer;
begin
  Result := '';
  if (I < 1) or (I > 702) then
    raise ERangeError.CreateFmt(
      '%d is not within the valid range of %d..%d', [I, 1, 702]);

  X := I - 1;
  J := X mod 26;
  K := X div 26;

  if (K >= 1) then
    Result := Chr(64 + K);
  Result := Result + Chr(65 + J);
end;

Ales

> -----Original Message-----
> From: Karel Machac [mailto:machackarel@quick.cz]
>
> Ahoj,
>
> potreboval bych poradit nejaky algoritmus pro prevod
> nazvu sloupce XLS tabulky na cislo tohoto sloupce.
> Takze napr. 'AA' bude vrace 27 atd...